package cn.lingyangwl.agile.system.model.rqrs.accesskey;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;

/**
 * API访问密钥
 *
 * @author shenguangyang
 */
@Getter
@Setter
@ApiModel(value="API访问密钥")
public class AccessKeyResp {
	private Long id;
	
	private Long userId;

	/**
	 * 密钥名称
	 */
	private String name;
	
	/**
	 * 用于标识 API 调用者身份，可以简单类比为用户名
	 */
	@ApiModelProperty(value = "用于标识 API 调用者身份，可以简单类比为用户名")
	private String secretId;
	
	/**
	 * 用于验证 API 调用者的身份，可以简单类比为密码
	 */
	@ApiModelProperty(value = "用于验证 API 调用者的身份，可以简单类比为密码")
	private String secretKey;
	
	/**
	 * 最后访问时间
	 */
	@ApiModelProperty(value = "最后访问时间")
	private Date lastAccessTime;
	
	/**
	 * 状态,1正常 , 0禁用
	 */
	@ApiModelProperty(value = "状态,1正常 , 0禁用")
	private String status;
	
	/**
	 * 租户id
	 */
	@ApiModelProperty(value = "租户id")
	private Long tenantId;

	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	private Date createdAt;

	/**
	 * 创建者用户名
	 */
	private String createdBy;

	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	private Date updatedAt;

	/**
	 * 更新者用户名
	 */
	private String updatedBy;

	/**
	 * 查询密钥是否需要验证
	 */
	private Boolean isNeedVerify = true;
}
